Object kasteel_maan "maan" class Prop, with name 'maan' 'maanlicht', description "Het kille licht van de maan verzacht de omtrekken van de dingen, ontneemt hen alle scherpte; hierdoor lijken zij geleidelijk in elkaar over te lopen, de bouwstenen van een droom waarin niets is wat het lijkt en alle betekenissen met elkaar zijn vervlochten.", found_in kasteel_hal kasteel_ruine kasteel_eetzaal kasteel_plaats, has male; Object kasteel_muren "muren" class Prop, with name 'muur' 'muren' 'zwarte' 'plekken', description "De muren zijn ooit gebouwd uit lichte steen, maar worden nu ontsierd door zwarte plekken die erop wijzen dat vuur @'e@'en van de oorzaken van het verval van het slot is geweest.", found_in kasteel_hal kasteel_ruine kasteel_eetzaal kasteel_plaats kasteel_kerker kasteel_toren_1, has pluralname; Object kasteel_sterren "sterren" class Prop, with name 'sterren' 'ster' 'sterrenhemel' 'hemel' 'uitspansel', description "Op tientallen, honderden en duizenden lichtjaren afstand staan reusachtige hete gasbollen, gewelddadig brandend totdat ze onder het gewicht van hun eigen passie ineenstorten. Hier op aarde is hun licht zo afgezwakt dat ze als lieflijke kaarsjes het zwarte uitspansel sieren.", found_in kasteel_hal kasteel_ruine kasteel_eetzaal kasteel_plaats, has pluralname; Object kasteel_sneeuw "sneeuw" class Prop, with name 'sneeuw', found_in kasteel_ruine kasteel_plaats kasteel_hal, description "Soms geeft sneeuw alle objecten waar het zich op genesteld heeft een sprookjesachtig uiterlijk, maar deze sneeuw lijkt de voorwerpen eerder te willen verstikken en begraven.", before [; Search, LookUnder: "Je port wat in de sneeuw, maar vindt niets van betekenis."; ], has male; Object kasteel_stenen "hopen steen" class Prop, with name 'hoop' 'hopen' 'steen' 'stenen' 'ondergesneeuwde' 'gebouwen' 'puin', description "Niets is er over van de eens trotse gebouwen dan deze puinhopen, roerloos onder een deken van koude.", found_in kasteel_hal kasteel_plaats, has pluralname; Object kasteel_vanaf_plaats "binnenplaats" class Prop, with found_in kasteel_hal kasteel_ruine kasteel_toren_1, name 'binnenplaats', description "Een grote binnenplaats waar ooit toernooien gevochten en feesten gevierd zijn. Het verleden wordt verstikt door een dikke laag sneeuw.", has male; Object kasteel_hal "De hal van het kasteel" with name 'hal', description [; if (self hasnt visited) { verhaaltracker.status = 5; } "Achter een fa@ccade van gaafheid gaat een heuse ru@:ine schuil. De helft van de muren van de geheel lege hal is ingestort, en de maan schijnt ongehinderd naar binnen langs het skelet van een dak. De rest van het kasteel is er niet beter aan toe: grote, ondergesneeuwde hopen steen geven aan waar vroeger gebouwen hebben gestaan. Alleen in het oosten leidt een doorgang naar een zaal die nog redelijk intact is. Van het gebouw in het westen staan nog een aantal muren overeind, en in het noordwesten kronkelt een smal pad tussen een rotsblok en een massief beeld door naar de binnenplaats."; ], nw_to kasteel_plaats, w_to kasteel_ruine, e_to kasteel_eetzaal, s_to "Je zal het kasteel niet verlaten zonder Maartje!", has light transparent; Object kasteel_hal_dak "dak" kasteel_hal class Prop, with name 'dak' 'skelet' 'balken', description "Geblakerde balken vormen een ruitpatroon tegen de sterrenhemel. Welke bescherming tegen de elementen het dak ooit ook geboden mag hebben, nu herinnert het slechts aan gelukkiger tijden.", has ; Object kasteel_doorgang "doorgang" class Prop, with name 'doorgang' 'deuropening' 'opening', found_in kasteel_eetzaal kasteel_hal, description [; print "Een deuropening waar reeds lang geen deur meer in hangt, opent als een gapende mond op het duister van de "; if(location == kasteel_hal) "eetzaal."; if(location == kasteel_eetzaal) "hal."; ], before [; Enter, Go: if(location == kasteel_hal) <>; if(location == kasteel_eetzaal) <>; ], has male; Object kasteel_hal_zaal "zaal" kasteel_hal class Prop, with name 'zaal', description [; print "De zaal in het oosten is groot, en lijkt zelfs nog een dak te hebben. "; if(parent(toorts) == kasteel_eetzaal && toorts has general) {"Een zwak oranje schijnsel, als van een haardvuur of een toorts, speelt over de vloer.";} else {"Er is nu geen toortslicht meer te zien.";} ], before [; Go, Enter: <>; ], has male; Object kasteel_hal_gebouw "gebouw in het westen" kasteel_hal class Prop, with pname 'gebouw' '.x' 'in' '.x' 'het' '.x' 'westen' '.p' 'ruine', description "Niets dan een ru@:ine is overgebleven van wat eens de woning van tientallen mensen moet zijn geweest.", before [; Go, Enter: <>; ], has ; Object kasteel_pad "pad naar de binnenplaats" kasteel_hal class Prop, with name 'pad' 'smal', description "Een smalle strook grond waar geen stenen op liggen wekt de indruk een pad te zijn; of die indruk strookt met de werkelijkheid kan je, door alle sneeuw, niet zien.", has ; Object rotsblok "rotsblok" kasteel_hal class Prop, with name 'rots' 'rotsblok' 'blok', description [; if(poeder has general) { "Groot en ongenaakbaar, van zwart graniet in plaats van de lichtere steen waar het kasteel uit gebouwd was, is het rotsblok bovenop versierd met een kindertekening. Daaronder zijn kleine tekens in het blok gekerfd."; } else { "Groot en ongenaakbaar, van zwart graniet in plaats van de lichtere steen waar het kasteel uit gebouwd was, draagt het rotsblok een kap van wit poeder. Er zijn kleine tekens in gekerfd."; }; ], before [; Rub: if(poeder has general) { "Je veegt nogmaals over het rotsblok, maar het is al schoon."; } else { <>; } Take, Pull, Push: "Het rotsblok is veel te groot en veel te zwaar."; ], has transparent; Object poeder "sneeuw" rotsblok class Prop, with name 'poeder' 'wit' 'kap', description "Een laag sneeuw bedekt de bovenkant van het rotsblok.", before [; Push, Pull, Take, Remove, LookUnder: print "Je veegt de sneeuw van het rotsblok weg, waardoor een kindertekening zichtbaar wordt.^"; move tekening to rotsblok; remove poeder; return true; ], has concealed male; Object tekening "kindertekening" poeder class Prop, with name 'tekening' 'kindertekening', description "Twee stokpoppetjes stellen een man en een klein meisje voor, hand in hand wandelend onder een gestileerde zon. Beiden hebben een grote glimlach op hun gezicht.", has concealed male; Object rots_tekens "inkervingen" rotsblok class Prop, with name 'tekens' 'kleine' 'inkervingen', description [a x; a = 0; objectloop (x in player) { if (x == toorts) a = 1; } if(a == 1) { "Bij het licht van de toorts buig je je over de onhandige, hoekige letters. Je leest:^^ ~IK BEN BANG. HIJ DOET ME PIJN.^ ALS JE DIT LEEST, HELP ME DAN!~^^ Maartje die schreeuwt met een stem zonder klank."; } else { "Het maanlicht is te zwak om de kleine inkervingen te kunnen lezen."; } ], has concealed; Object kasteel_beeld "standbeeld" kasteel_hal class Prop, with name 'beeld' 'standbeeld' 'massief', description "Twee meter hoog, in grijs graniet, staat hier het imposante standbeeld van een adellijke man. Zijn gezicht is door weer en wind zo aangetast dat je naar zijn gelaatstrekken slechts kan gissen.", before [; Invite: "Het standbeeld knikt, eenmaal, kort. Dan neemt hij weer zijn onbeweeglijke houding aan."; Take, Pull, Push: "Het standbeeld is veel te groot en veel te zwaar."; ], has ; Object kasteel_ruine "Geru@:ineerd bijgebouw" with name 'ruine' 'bijgebouw' 'geruineerd', description "Afbrokkelende muurtjes steken boven het puin uit, suggesties van de oude glorie van het gebouw. Nu is er geen enkel teken van leven meer, en alleen de stenen herinneren zich nog hoe hier ooit de bedienden leefden, lachten en de liefde bedreven. Wat over is van de grote hal van het kasteel ligt in het oosten; in het noorden kan je je tussen de resten van de ru@:ine door een weg naar de binnenplaats banen.", e_to kasteel_hal, n_to kasteel_plaats, d_to [; if(kerker_luik hasnt absent) {return kerker_luik;} else return false; ], before [; Listen: print "Je sluit je ogen en luistert, luistert naar de stem van de stenen die eeuwig de geschiedenis herhalen."; VraagToets(0,0,0); print "Mensen lachen. In een andere kamer foetert een vrouw iemand uit; je kan de woorden niet verstaan, maar de lijn van haar verhaal is duidelijk. Een geroezemoes van stemmen komt van alle kanten, een brei van woorden en stemmingen die je geheel omgeeft als een warme deken. Boven alles uit klinkt, sereen en droevig, een gefloten wijsje."; VraagToets(0,0,0); "Je opent je ogen weer, en het gefluit en de stemmen verstommen. Alleen het huilen van de wind verbreekt hier de sombere stilte."; ], has light transparent; Object kasteel_muurtjes "afbrokkelende muurtjes" kasteel_ruine class Prop, with name 'muurtjes' 'afbrokkelende' 'resten', description "De omtrekken van de kamers die eens de begane grond van deze ru@:ine hebben gevormd zijn nog zichtbaar als lage muurtjes, steeds verder afbrokkelend onder de tand des tijds. Je meent de herinneringen die zij in zich opgeslagen hebben haast te kunnen horen en voelen.", before [; Touch: print "Je legt je hand op de stenen en sluit je ogen."; VraagToets(0,0,0); print "Een verlichte hal, kleiner maar gezelliger dan die waar de adellijke heren van het kasteel zich ophouden. Mensen lopen af en aan, de laatste hand leggend aan het diner van die avond of bijkomend van een lange dag hard werken. Een groepje jongens lacht. Een oude man speelt op een blaasinstrument, een soort fluit. Vredig. Vrolijk. Knus. Deze mensen zijn allemaal thuis."; VraagToets(0,0,0); "Wanneer je je ogen opent sta je weer met beide voeten in de sneeuw. Je trekt je jas dichter om je heen tegen de kille wind die ongehinderd door de ru@:ine kan gieren."; ], has pluralname; Object puin "puin" kasteel_ruine class Prop, with name 'puin', description "De grond is bezaaid met de stenen die ooit dit gebouw vormden. Nu liggen zij, doods en stil, te wachten tot de overgebleven muurtjes hen zullen volgen.", has ; Object kasteel_ruine_hal "hal" kasteel_ruine class Prop, with name 'hal' 'grote', description "De muren van de grote hal staan nog overeind, maar van het dak is weinig meer over. Het gebouw staat zwijgend te wachten op een naamloze toekomst.", before [; Go, Enter: <>; ], has male; Object kerker_luik "luik" class Deur, with name 'luik', description [; if (location == kasteel_ruine) "Een zwaar luik leidt naar een ondergronds gewelf."; else "Het luik geeft toegang tot de bovenwereld."; ], found_in kasteel_ruine kasteel_kerker, door_dir [; if (location == kasteel_ruine) {return d_to;} else {return u_to;}; ], door_to [; if (location == kasteel_ruine) return kasteel_kerker; else return kasteel_ruine; ], before [; Open: give kasteel_kerker light; return false; Close: give kasteel_kerker ~light; return false; Burn: "Het luik is van ijzer. IJzer brandt niet."; ], has door openable ~open scenery absent; Object kasteel_ruine_stenen "hoop stenen" kasteel_ruine with name 'stenen' 'hoop' 'stapel', initial [; if(self hasnt general) "In een hoek van de ru@:ine ligt een hoop stenen die niet door sneeuw bedekt is."; "Een stapel stenen ligt naast een luik op de grond."; ], description [; if(self hasnt general) "Hoofd-grote stenen vormen een rommelige hoop. Er ligt bijna geen sneeuw op, terwijl de rest van het kasteel onder een centimeters dikke laag is bedolven."; "De stenen vormen een rommelige hoop. Ze bedekken nu niet langer het luik."; ], before [; Pull, Push, Take, LookUnder, Search, Transfer: if(self hasnt general) { give kerker_luik ~absent; move kerker_luik to kasteel_ruine; give self general; "De stenen zijn zwaar, maar met de nodige moeite lukt het je om hen opzij te duwen en te rollen. Onder de stapel blijkt een metalen luik in de grond te zitten."; } else { "Je gaat de stenen niet nogmaals verplaatsen."; } ], has male; Object dagboek_pagina_1 "doorweekte pagina" kasteel_ruine with name 'doorweekte' 'pagina', description [; print "Een vel papier dat nat is geworden, zodat de met zwarte inkt geschreven zinnen - het aandachtige handschrift van een meisje - slechts hier en daar ontcijferbaar zijn.^^"; style bold; print "~... nog van mij? Waarom komt hij...~^ ~Wie kan ik om hulp vragen... mamma... niemand weet~^ ~...braaf. Ik zal doen wat hij zegt, en niet...~"; style roman; if(dagboek.counter == 1) print "^^De pagina heeft precies de grootte van de velletjes uit Maartje's dagboek."; ""; ], before [; Burn: if(TestScope(toorts, player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "De vlammen likken langs de pagina, waar eerst alleen stoom vanaf komt. Maar allengs is hij opgedroogd en begint het vuur het blad zelf te vernietigen, tot er niets dan een herinnering van rest."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } ], has male; Object kasteel_eetzaal "De eetzaal" with name 'zaal' 'eetzaal', description "De grote eetzaal is minder aangetast door het verval dan de meeste andere delen van het kasteel. Maanlicht schijnt door enkele gaten in het dak, waaronder zich hopen half gesmolten sneeuw hebben verzameld. Een lange houten tafel, met een stoel aan elk uiteinde, staat er ondanks zijn lengte verloren bij in de verder lege ruimte. Af en toe hoor je een vleermuis langs vliegen. Een deuropening leidt terug naar de hal in het westen.", w_to kasteel_hal, has light transparent; Object toorts "toorts" kasteel_eetzaal with name 'toorts' 'vlam' 'vuur', initial [; if(self has general) { "Een enkele toorts aan de muur verspreidt flikkerend geel licht."; } else { "Een gedoofde toorts hangt inert aan de muur."; } ], description [; if(self has general) { "Een houten toorts van ongeveer een halve meter eindigt in een lustig brandende vlam."; } else { "Een halve meter hout eindigt in een verkoold stuk."; } ], invent [; if(inventory_stage == 1) return false; if(self has general) { print " (lustig brandend)"; } else { print " (gedoofd)"; } return true; ], before [; Doof: if(self has general) { print "Je slaat een paar keer met de toorts op de grond, en gaat dan op het brandende uiteinde staan. "; if (kleding has worn) {print "Onder je zware laarzen gaat het vuur snel uit.";} else {print "Au! Je was even vergeten dat je je laarzen niet droeg, en het scheelde weinig of je had je gebrand. Maar de toorts is uit.";} give self ~general; give self ~light; if (parent(self) == player) " Je pakt de toorts weer op."; move self to parent(player); give self moved; ""; } else { "De toorts is al uit. Hoe zou je hem nog kunnen doven?"; }; Transfer, Insert: if(second == kasteel_sneeuw || second == kasteel_eetzaal_sneeuw) { give self ~general; give self ~light; move self to parent(player); give self moved; "Je houdt de toorts met het brandende uiteinde in de sneeuw. Met een sissend geluid dooft het vuur."; } else { "Je houdt de toorts met het gedoofde uiteinde in de sneeuw. Je bent niet verbaasd wanneer dit geen enkel effect heeft."; } Receive: <>; ], has male general light; Object kasteel_eetzaal_sneeuw "hopen sneeuw" kasteel_eetzaal class Prop, with name 'sneeuw' 'hoop' 'hopen', doorzocht 0, description "Op een drietal plaatsen in de eetzaal heeft een hoop sneeuw zich genesteld onder een gat in het dak.", before [; Search, LookUnder: if(self.doorzocht == 0) { self.doorzocht = 1; move bevroren_kat to kasteel_eetzaal; "Onder de grootste hoop sneeuw blijkt het bevroren lijk van een kat te liggen."; } else { "Verder vind je niets meer in de hopen sneeuw."; }; ], has pluralname; Object bevroren_kat "lijkje van Katja" with name 'bevroren' 'kat' 'poes' 'katja' 'lijkje' 'lijk' 'van', description "Dit is onmiskenbaar het lichaam van Katja, jullie poes, die reeds jaren geleden is overleden. Maartje was ontroostbaar, en de konijnen die je later voor haar kocht hebben haar hart nooit kunnen veroveren.", before [; Burn: "Dat zou de kat misschien ontdooien, maar meer niet. Om Katja te cremeren heb je een groter vuur nodig."; Spreek: "De kat is dood. Ze zal je niet kunnen horen."; Touch: "Teder streel je Katja, en denkt terug aan de tijd toen zij nog zachtjes spinnend bij jou op schoot kwam zitten."; Eat: "Ben je volslagen waanzinnig geworden?"; ], has ; Object kasteel_eetzaal_tafel "eettafel" kasteel_eetzaal class PropSup, with name 'eettafel' 'tafel' 'uiteinde' 'uiteinden' 'lange' 'houten', description "De tafel, gemaakt van zwart ebbenhout, is zeker zes meter lang. Wanneer aan beide uiteinden iemand zou zitten, zouden ze haast moeten schreeuwen om een conversatie te voeren - en toch is dat waar de stoelen staan opgesteld.", before [; Push, Pull, Take: "De tafel is veel te zwaar om door een enkele persoon verplaatst te worden."; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { "Het ebbenhout lijkt van de toortsvlam niet erg onder de indruk. Het begint zelfs niet te smeulen."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } return false; ], has male supporter scenery; Object dagboek_pagina_2 "gescheurde pagina" kasteel_eetzaal_tafel with name 'gescheurde' 'pagina', description [; print "Een vel papier, verfrommeld en gescheurd, waarop met zwarte inkt geschreven zinnen - het aandachtige handschrift van een meisje - helder leesbaar hun verhaal vertellen.^^"; style bold; print "Vannacht is het weer gebeurd. Zal het dan nooit ophouden? Zal ik nooit meer vrij en gelukkig kunnen zijn? En zelfs als het ophoudt - kan ik de angst en de nachtmerries nog wel kwijtraken? Ik haat hem, ik haat mezelf, ik haat mijn leven. Al mijn vreugde wordt tot as in het vuur van zijn lust..."; style roman; if(dagboek.counter == 1) print "^^De pagina heeft precies de grootte van de velletjes uit Maartje's dagboek."; ""; ], before [; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "De vlammen likken langs de pagina, die onmiddellijk verkoolt en opkrult. Wanneer het hele blad door het vuur geconsumeerd is valt het in kleine vlokken as uiteen, die zich in de lucht verspreiden."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } ], has male; Object kasteel_eetzaal_stoelen "stoel" kasteel_eetzaal class Prop, with name 'stoel' 'stoelen', description "Net zoals de tafel zijn de stoelen van ebbenhout gemaakt, zwaar en zwart. Aan beide verre uiteinden van de tafel staat een stoel, zo ver van elkaar als maar mogelijk is.", before [; Push, Pull, Take: "Je bent hier niet om het interieur van de baron opnieuw in te richten."; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { "Het ebbenhout lijkt van de toortsvlam niet erg onder de indruk. Het begint zelfs niet te smeulen."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } Enter: move player to kasteel_eetzaal_stoelen; "Je gaat op @'e@'en van de stoelen zitten."; Exit, GetOff: move player to kasteel_eetzaal; "Je staat op."; ], react_before [; Go, Search, Take, Enter, LookUnder, Pull, Push, JumpOver, Attack, Climb, Burn, Dig, Cut, Jump: if(parent(player) == self) { move player to kasteel_eetzaal; print "Je staat eerst op.^"; return false; } return false; Sit: <>; default: return false; ], has male enterable supporter transparent scenery static; Object kasteel_eetzaal_dak "dak" kasteel_eetzaal class Prop, with name 'dak' 'gaten' 'gat', description "Afgezien van drie grote gaten, waar kennelijk een dakbalk het begeven heeft, is het dak hier nog intact. De grote eetzaal heeft hierdoor iets van zijn vroegere grandeur gehouden.", before [; Touch, Take, Burn: "Het dak is veel te ver boven je."; ], has ; Object kasteel_eetzaal_vleermuis "vleermuizen" kasteel_eetzaal class Prop, with name 'vleermuis' 'vleermuizen' 'gefladder', description "Je kijkt omhoog, maar ziet geen beweging in het duister.", react_before [; Listen: if(noun == nothing) <>; ], before [; Listen: "Je hoort af en toe een zacht gefladder, vermoedelijk van een vleermuis ergens onder het dak."; ], has pluralname; Object kasteel_eetzaal_hal "hal" kasteel_eetzaal class Prop, with name 'hal' 'grote', description "De muren van de grote hal staan nog overeind, maar van het dak is weinig meer over. Het gebouw staat zwijgend te wachten op een naamloze toekomst.", before [; Go, Enter: <>; ], has male; Object kasteel_kerker "Een vochtige kerker" with name 'kerker' 'kelder', description [; if(kerker_luik has open) print "In het zwakke schijnsel dat door het luik komt kan je net ontwaren dat dit een kerker is geweest. "; if(kerker_luik hasnt open) print "Het flakkerende licht van de toorts onthult een duistere kerker. "; if(kasteel_kerker_tralies hasnt general && parent(pop_moeder_kerker) == kasteel_kerker_cel) print "Langs @'e@'en van de muren bakent traliewerk een kleine cel af, waarin je nog botten, ketens en - vreemd genoeg - een uitgemergelde moederpop ziet liggen. "; if(kasteel_kerker_tralies hasnt general && parent(pop_moeder_kerker) ~= kasteel_kerker_cel) print "Langs @'e@'en van de muren bakent traliewerk een kleine cel af, waarin je nog botten en ketens ziet liggen. "; if(kasteel_kerker_tralies has general) print "Waar eerst een traliewerk een cel afbakende ligt nu nog slechts gestold ijzer op de vloer. Botten en ketens herinneren aan de vroegere bestemming. "; "Aan de andere kant van de kerker staan twee martelwerktuigen: een rek en een ijzeren maagd. Waterdruppels vallen met onregelmatige tussenpozen van het plafond op de koude stenen vloer.^^Je hoort het zwijgen van verstilde stemmen."; ], u_to kerker_luik, moeder_spreekt 0, vader_spreekt 0, dochter_spreekt 0, before [; Listen: if(noun == nothing) { if(self == location) { "Afgezien van het vallende water is het stil; maar het lijkt alsof er een gesprek verstomd is op het moment dat jij het luik opende."; } else { self.moeder_spreekt = 0; self.vader_spreekt = 0; self.dochter_spreekt = 0; if(TestScope(pop_moeder_kerker)) self.moeder_spreekt = 1; if(parent(pop_moeder_kerker) == kasteel_kerker) self.moeder_spreekt = 1; if(parent(pop_moeder_kerker) == kasteel_kerker_cel) self.moeder_spreekt = 1; if(TestScope(pop_vader_kerker)) self.vader_spreekt = 1; if(parent(pop_vader_kerker) == kasteel_kerker) self.vader_spreekt = 1; if(parent(pop_vader_kerker) == kasteel_kerker_cel) self.vader_spreekt = 1; if(parent(pop_vader_kerker) == kasteel_kerker_rek) self.vader_spreekt = 2; if(TestScope(pop_dochter_kerker)) self.dochter_spreekt = 1; if(parent(pop_dochter_kerker) == kasteel_kerker) self.dochter_spreekt = 1; if(parent(pop_dochter_kerker) == kasteel_kerker_cel) self.dochter_spreekt = 1; if(parent(pop_dochter_kerker) == kasteel_kerker_maagd && kasteel_kerker_maagd has open) self.dochter_spreekt = 2; if(self.moeder_spreekt == 1) { print "~Waarom? Waarom moest ons dit overkomen?~, zegt een zachte vrouwenstem."; VraagToets(0,0,0); if(self.vader_spreekt == 0 && self.dochter_spreekt == 0) { "Maar er komt geen antwoord, en de stilte keert weer."; } if(self.vader_spreekt == 2) { print "Vanaf de pijnbank klinkt een getergd gekreun."; VraagToets(0,0,0); self.vader_spreekt = 0; } if(self.vader_spreekt == 0 && self.dochter_spreekt == 1) { print "~En waarom heb je er nooit iets aan gedaan, moeder?~, antwoordt een verwijtende meisjesstem."; VraagToets(0,0,0); print "~Ik wilde het niet geloven. Ik wilde niet begrijpen wat ik allang begreep; niet weten wat ik al jaren wist. Het... het spijt me.~"; VraagToets(0,0,0); print "~Je hebt hem mijn leven laten vernietigen zonder een vinger uit te steken. Hoe kan ik je dat ooit vergeven?~ De stem begint te snikken."; VraagToets(0,0,0); print "~Je hebt gelijk, het valt niet goed te praten. Ik verdien je veroordeling dubbel en dwars.~ De vrouwenstem zwijgt, verslagen."; VraagToets(0,0,0); return true; } if(self.vader_spreekt == 0 && self.dochter_spreekt == 2) { print "Een zacht gehuil komt uit de ijzeren maagd."; VraagToets(0,0,0); "Maar daar blijft het bij, en het wordt weer stil in de kerker."; } if(self.vader_spreekt == 0 && self.dochter_spreekt == 0) { "Maar daar blijft het bij, en het wordt weer stil in de kerker."; } if(self.vader_spreekt == 1) { print "~Ik weet het niet, ik... ik... ik heb geprobeerd het te stoppen, maar ik kan het niet,~ antwoordt een mannenstem, fluisterend."; VraagToets(0,0,0); if(self.dochter_spreekt == 2) { print "Een zacht gehuil komt uit de ijzeren maagd."; VraagToets(0,0,0); self.dochter_spreekt = 0; } if(self.dochter_spreekt == 0) { ! Gesprek tussen pa en moe. print "~Was ik niet genoeg voor je? Waarom moest je ons geluk kapot maken voor dat wicht?~"; VraagToets(0,0,0); print "~Wat weet jij ervan! Jij hebt niet nacht na nacht met deze infernische lust moeten worstelen, totdat je ziel in twee@:en scheurde en je opnieuw verdronk in een zee van vlammen!~"; VraagToets(0,0,0); print "Even is het stil. Dan gaat de vrouwenstem verder, kalmer nu: ~Ik zei niet dat je het kon helpen... ik... ik weet het allemaal ook niet meer. Al jaren niet meer. Misschien dat alles weer normaal wordt als ze oud genoeg is om het huis uit te gaan?~."; VraagToets(0,0,0); print "~Het wordt nooit meer normaal.~^^Na die fatalistische conclusie zwijgen de stemmen."; VraagToets(0,0,0); return true; } if(self.dochter_spreekt == 1) { ! Gesprek tussen alle drie. print "~En dus heb je mijn jeugd vernietigd en mijn leven tot een hel gemaakt?~, vraagt de stem van een meisje beschuldigend."; VraagToets(0,0,0); print "~En m@'ijn leven dan?~, antwoordt de vrouw. ~Denk je dat deze jaren voor m@'ij plezierig geweest zijn? Dat ik er genot aan beleefd heb toe te kijken hoe mijn dochter verdorde en steeds verder in zichzelf terug kroop?~"; VraagToets(0,0,0); print "~Wat?!~ Het meisje klinkt woedend. ~Jarenlang heb je geen vinger voor me durven uitsteken, en nu durf je om medelijden te vragen? Het is jouw lafheid die ervoor gezorgd heeft dat hij al die tijd heeft kunnen doorgaan.~"; VraagToets(0,0,0); print "~Nee,~ valt de man hen in de rede. ~Het is m@'ijn schuld, allemaal m@'ijn schuld. Ik weet het, en toch kan ik ons niet bevrijden uit deze hel. Vergeef me.~"; VraagToets(0,0,0); print "Maar op die laatste opmerking blijft het akelig stil."; VraagToets(0,0,0); return true; } } } if(self.moeder_spreekt == 0) { ! Alle mogelijkheden waarbij moeder niets zegt. if(self.vader_spreekt == 0 && self.dochter_spreekt == 0) "Je moet je vergist hebben; wanneer je nauwkeurig luistert hoor je niets."; if(self.vader_spreekt == 2 && self.dochter_spreekt == 0) "Vanaf de pijnbank klinkt een moeizaam steunen."; if(self.vader_spreekt == 2 && self.dochter_spreekt == 2) "Een moeizaam steunen vanaf de pijnbank en een zacht gehuil vanuit de ijzeren maagd wisselen elkaar af."; if(self.vader_spreekt == 0 && self.dochter_spreekt == 2) "Je hoort alleen een zacht gehuil uit de ijzeren maagd komen."; if(self.vader_spreekt == 0 && self.dochter_spreekt == 1) { print "~Vader?~, klinkt een zachte meisjesstem. ~Waarom doe je me dit aan?~"; VraagToets(0,0,0); print "Maar er is geen antwoord."; VraagToets(0,0,0); print "~Moeder?~, vraagt het meisje dan. ~Waarom help je me niet?~"; VraagToets(0,0,0); print "Maar ook daarop volgt alleen maar stilte."; VraagToets(0,0,0); return true; } if(self.vader_spreekt == 2 && self.dochter_spreekt == 1) { print "~Vader?~, klinkt een zachte meisjesstem. ~Waarom doe je me dit aan?~"; VraagToets(0,0,0); print "Vanaf het rek klinkt alleen een zacht gekreun."; VraagToets(0,0,0); print "~Moeder?~, vraagt het meisje dan. ~Waarom help je me niet?~"; VraagToets(0,0,0); print "Maar daarop volgt alleen maar stilte."; VraagToets(0,0,0); return true; } if(self.vader_spreekt == 1 && self.dochter_spreekt == 0) { print "~Meisje?~, spreekt een mannenstem. ~Het spijt me zo ontzettend veel.~"; VraagToets(0,0,0); print "Maar daarop volgt alleen maar stilte."; VraagToets(0,0,0); return true; } if(self.vader_spreekt == 1 && self.dochter_spreekt == 2) { print "~Meisje?~, spreekt een mannenstem. ~Het spijt me zo ontzettend veel.~"; VraagToets(0,0,0); print "Maar daarop volgt alleen een zacht gehuil uit de ijzeren maagd."; VraagToets(0,0,0); return true; } if(self.vader_spreekt == 1 && self.dochter_spreekt == 1) { print "~Vader?~, klinkt een zachte meisjesstem. ~Waarom doe je me dit aan?~"; VraagToets(0,0,0); print "~Ik weet het niet, meisje. Ik weet het werkelijk niet,~ antwoordt een man."; VraagToets(0,0,0); print "~Is je plezier dan werkelijk belangrijker dan mijn leven? Hoe kan ik je ooit vergeven wanneer ik je niet kan begrijpen?~"; VraagToets(0,0,0); print "~Ik - ik begrijp het zelf ook niet. Ik kan het niet stoppen. Ik ben niet sterk genoeg; of ik ben te verdorven.~"; VraagToets(0,0,0); print "Even aarzelt het meisje. ~Ik heb zo vaak geprobeerd om je te vergeven, maar ik kan het niet. De laatste jaren bid ik elke avond om je dood.~"; VraagToets(0,0,0); print "Daarop wordt het helemaal stil."; VraagToets(0,0,0); return true; } } return true; } } ], after [; Look: if(self ~= location) "Maar, heel zachtjes, lijk je iets te horen."; ], has light transparent; Object kasteel_kerker_licht "schijnsel" kasteel_kerker class Prop, with name 'licht' 'schijnsel', description [; if(kerker_luik has open) { print "Vanuit het luik schijnt de maan de kerker binnen, die daardoor zwakjes verlicht wordt."; if(TestScope(toorts) && toorts has general) { print " De toorts werpt geel licht en flakkerende schaduwen op de muren."; } ""; } if(TestScope(toorts) && toorts has general) { "De toorts werpt geel licht en flakkerende schaduwen op de muren."; } ], has ; Object kasteel_kerker_tralies "traliewerk" kasteel_kerker class Prop, with name 'traliewerk' 'tralies' 'ijzeren' 'hekwerk' 'gesmolten' 'ijzer' 'gestolde' 'massa', description [; if(self hasnt general) "Een ijzeren hekwerk loopt van de ene naar de andere kant van de kamer, van vloer tot plafond, en bakent zo een cel af waar een eveneens ijzeren deur toegang tot geeft. De tralies zitten een centimeter of tien van elkaar: voldoende om smekende handen door naar buiten te steken, maar te weinig om door te ontsnappen."; "Waar eerst een hekwerk door de kerker liep, ligt nu nog slechts een gestolde massa ijzer op de grond."; ], before [; Open: <>; Close: <>; ], has ; Object kasteel_kerker_cel "cel" kasteel_kerker with name 'cel' 'afgebakende' 'ruimte' 'getraliede' 'deur' 'celdeur', description [; print "De cel is minder dan een meter breed, maar wel zes meter lang. Ketens hangen aan de muur, en een skelet ligt verslagen op de grond, zijn armen door de tralies uitgestrekt, als bedelde hij om voedsel of drinken.^^"; <>; ], with_key dagboek_sleutel, before [; Open: if(self has locked) "De deur van de cel lijkt op slot te zitten."; if (self has open) "De deur naar de cel staat reeds open."; give self open; if(parent(player) == self) "Je duwt de ijzeren deur met veel gepiep en geknars open."; "Je trekt hard aan de ijzeren deur, die piepend en krakend op zijn roestige scharnieren naar buiten open zwaait."; Close: if (self hasnt open) "De deur naar de cel is al dicht."; give self ~open; if(parent(player) == self) "Je trekt de ijzeren deur, piepend en krakend op zijn roestige scharnieren, dicht."; "Je duwt de ijzeren deur met veel gepiep en geknars dicht."; Unlock: if (self hasnt locked) "De celdeur is al van het slot gehaald."; if (self has locked && second == dagboek_sleutel) { print "Je steekt het koperen sleuteltje in het slot van de deur, dat vier maten te groot lijkt, en draait het voorzichtig rond. Met een zachte klik springt het slot open.^"; give self ~locked; return true;} print "Wat je ook probeert, het slot gaat niet open. Kennelijk "; IsofZijn(second); print " ", (the) second, " niet de sleutel tot deze cel.^"; return true; Lock: if(second == nothing && parent(dagboek_sleutel == player)) <>; if(self has locked) "De celdeur zit al op slot."; if(self hasnt locked && parent(dagboek_sleutel) == player) { give self locked; "Je draait de deur weer op slot."; } "Je hebt het sleuteltje van Maartjes dagboek niet bij de hand."; Enter: if(parent(player) == self) "Je bent al in de cel."; if(self has open) { move player to self; "Je loopt de nauwe cel binnen."; } return false; Exit: if(parent(player) ~= self) "Je bent niet in de cel."; if(self has open) { move player to kasteel_kerker; "Je loopt de nauwe cel weer uit."; } return false; ], react_before [; Search, Take, Touch, Go, Transfer, Enter, Open, Close, Lock, Unlock, LookUnder, Taste, Pull, Push, Turn, JumpOver, Drink, Fill, Attack, Rub, Climb, Squeeze, Burn, Cut, Kiss: if(parent(player) == self) { if(parent(noun) ~= self && parent(noun) ~= player && noun ~= self && noun ~= d_obj && noun ~= u_obj && noun ~= kasteel_kerker_tralies) { "Daar kan je vanuit de cel niet bij."; } } return false; PutOn, Insert: if(parent(player) == self) { if(parent(second) ~= self && parent(noun) ~= player && second ~= self && second ~= d_obj && second ~= u_obj && second ~= kasteel_kerker_tralies) { "Daar kan je vanuit de cel niet bij."; } } return false; ], has male transparent enterable container ~open openable lockable locked scenery; Object sleutelweg class Character, with quip [a b; switch (a) { 12: "Wanneer je nu de sleutel weggooit zal je nooit meer de cel kunnen openen en ben je hier voor eeuwig opgesloten. Weet je zeker dat je het wilt doen?^"; 13: qtype = MainMenu; qqon = true; killz = true; killq = true; 14: return Qlist(b, 3, 2, 3, 4); 21: "Nee. Houd de sleutel."; ! Vanaf 1 22: "Je besluit de sleutel bij je te houden."; 23: killz = true; killq = true; 31: "Ja. Ik verdien het om hier in deze kerker om te komen van honger en dorst."; ! Vanaf 1 32: SmeltendTraliewerk(); return true; 33: killz = true; killq = true; 41: "Ja. Het is de enige manier waarop ik mezelf onschadelijk kan maken."; ! Vanaf 1 42: SmeltendTraliewerk(); return true; 43: killz = true; killq = true; } ], has ; Object kasteel_kerker_poppen_fake "poppen" kasteel_kerker_cel class Prop, with name 'poppen', before [; default: "Je kan alleen met de afzonderlijke poppen handelingen uitvoeren."; ], has pluralname; Object kasteel_kerker_botten "botten" kasteel_kerker_cel class Prop, with name 'botten' 'bot' 'skelet' 'beenderen', description "Het is duidelijk het skelet van een volwassen persoon, die kennelijk ooit in deze kerker aan zijn lot is overgelaten en eenzaam gestorven. Aan de ene kant is het afschuwelijk, en wil je liever niet aan zijn of haar lot denken; aan de andere kant ben je opgelucht dat het duidelijk niet de stoffelijke resten van Maartje zijn.", before [; Take: "Je voelt er weinig voor met menselijke overblijfselen rond te gaan lopen."; ], has pluralname; Object kasteel_kerker_ketens "ketens" kasteel_kerker_cel with name 'ketens' 'keten' 'kettingen' 'ketting', description "Zware metalen kettingen zijn aan @'e@'en kant aan de muur bevestigd. Vroeger moeten ze gevangenen in bedwang hebben gehouden, als extra veiligheidsmaatregel naast het traliewerk.", before [; Take: "De kettingen zitten vast aan de muur."; Pull: if(parent(player) == kasteel_kerker_cel || parent(self) == kasteel_kerker) "Je trekt aan de kettingen, maar ze komen niet los van de muur."; "Daarvoor zal je eerst de cel moeten betreden."; Open, Close: "De scharnierende delen waarmee deze kettingen eens aan ledematen werden vastgemaakt zijn nergens te bekennen."; Wear: "Behangen met kettingen rond paraderen laat je liever aan jongeren in dubieuze subculturen over."; ], has pluralname scenery; Object kasteel_kerker_martel "martelwerktuigen" kasteel_kerker class Furniture, with name 'werktuigen' 'martelwerktuigen' 'marteltuig', description "In de kerker staan een rek - waarop mensen langzaam konden worden uitgerekt - en een ijzeren maagd - waarin mensen door scherpe punten gespiesd werden en een pijnlijke dood stierven.", has pluralname scenery; Object kasteel_kerker_rek "rek" kasteel_kerker class Furniture, with name 'rek' 'wiel' 'touw' 'touwen' 'pijnbank', gedraaid 0, description [; print "Dit is een middeleeuws martelwerktuig, waarop mensen liggend plaats moesten nemen. Hun armen en hun benen werden dan vastgebonden en met behulp van een wiel werden de touwen steeds strakker gespannen, waardoor het slachtoffer langzaam werd uitgerekt. Het apparaat lijkt nog in goede staat te verkeren."; if(pop_vader_kerker has general) print "^^Een pop die een man moet voorstellen ligt op het rek, zijn armen en benen vastgebonden en al een stuk uitgerekt."; ""; ], before [; Search: <>; Turn: switch(self.gedraaid) { 0: self.gedraaid = 1; "Voorzichtig draai je aan het wiel, en de touwen spannen zich strakker. De pop wordt verder uitgerekt, en lijkt het niet lang meer te kunnen houden."; 1: self.gedraaid = 2; "Nogmaals draai je aan het wiel, en opnieuw spannen de touwen zich strakker. Je hoort het geluid van scheurende stof; op het gezicht van de pop meen je paniek te kunnen aflezen."; 2: self.gedraaid = 3; remove pop_vader_kerker; move pop_vader_kerker_2 to kasteel_kerker_rek; "Je geeft nog een harde ruk aan het wiel, en met een scheurend geluid wordt de vaderpop in twee@:en gereten. Het boven- en het onderlichaam zijn voor altijd van elkaar gescheiden."; 3: "Met het rek kan je de pop niet verder kapot maken."; default: "Je draait aan het wiel, maar omdat er niets op het rek is vastgebonden heeft dat geen effect."; } Tie, Receive: if(second ~= pop_vader_kerker && noun ~= pop_vader_kerker) "Je voelt er weinig voor om dat te gaan martelen."; if(parent(pop_vader_kerker) ~= self) { move pop_vader_kerker to self; give pop_vader_kerker general; self.gedraaid = 0; "Je bindt de vaderpop weer vast aan het rek."; } else { "De vaderpop ligt al op de pijnbank."; } ], has supporter scenery; Object pop_vader_kerker "uitgerekte vaderpop" kasteel_kerker_rek with name 'vaderpop' 'vader' 'pop' 'uitgerekte', description "De pop is een centimeter of veertig groot, bebaard en gekleed als een volwassen man. Door de martelingen op het rek heeft hij zijn beste tijd gehad: de ledematen zijn langer dan ze zouden moeten zijn en op het gezicht van de pop ligt een uitdrukking van constante pijn.", before[; Take, Remove: if(parent(self) == kasteel_kerker_rek) { give self ~general; move self to player; kasteel_kerker_rek.gedraaid = 99; "Je bevrijdt de vaderpop uit zijn benarde positie."; } return false; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "De vlammen grijpen gretig om zich heen, en omhullen de vaderpop volledig. Een poppenkreet klinkt door de nacht - dan dooft het vuur en is er van de speelgoedman niets meer te zien. Zelfs geen as heeft hij nagelaten om te verstrooien."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } Play: "Je voelt weinig behoefte met de gemartelde pop te spelen."; ], has male general; Object pop_vader_kerker_2 "uiteengereten vaderpop" with name 'vaderpop' 'vader' 'pop' 'uiteengereten' 'vulling' 'hoofd' 'bovenlichaam' 'bovenlijf' 'onderlijf', description "Door de kracht van het rek is de pop langs zijn middel in twee@:en gescheurd, zodat zijn hoofd en bovenlichaam nu los van zijn onderlijf liggen. Vulling stroomt uit het poppenlijk over het rek heen. De blik van de pop is doods en leeg.", before[; Take, Remove: "De verscheurde pop is een te pijnlijke aanblik; je wilt niet met hem rondlopen."; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "De vlammen grijpen gretig om zich heen, en omhullen de beide delen van de vaderpop volledig. Een minuut langs is het volkomen stil; zelfs de waterdruppels staken hun ritmische vallen. Dan dooft het vuur en is er van de speelgoedman niets meer te zien. Zelfs geen as heeft hij nagelaten om te verstrooien."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } Play: "Het idee vervult je met walging."; ], has male; Object pop_moeder_kerker "uitgemergelde moederpop" kasteel_kerker_cel with name 'moederpop' 'moeder' 'pop' 'uitgemergelde', description "Wat er precies met haar gebeurd is is lastig te zeggen, maar deze in vrouwenkleding gestoken pop lijkt bleker en magerder dan de bedoeling geweest kan zijn. Alsof zij al lange jaren onvoldoende voedsel binnen krijgt, of van binnenuit verteerd wordt door zorgen.", before[; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "Je houdt de moederpop in de vlam van de toorts, en ziet hoe het vuur eerst haar kleding, dan haar haren, en ten slotte haar huid en de vulling van haar lichaam verovert. Wanneer het te heet wordt laat je de pop vallen, die op de grond verder brandt totdat er niets van over is."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } Play: "Je bent niet langer in de stemming om met poppen te spelen."; ], has female; Object kasteel_kerker_maagd "ijzeren maagd" kasteel_kerker class Furniture, with name 'maagd' 'ijzeren', description [; if(self has open) "De deuren van de ijzeren maagd staan open, en tonen zo alle scherpe punten die van overal in het lichaam van de ongelukkige veroordeelde zouden binnendringen. Meestal werden ze zo geplaatst dat de vitale organen niet geraakt werden, zodat de lijdensweg van het slachtoffer extra lang duurde. Wanneer de deuren dicht zijn is de maagd geluiddicht."; "Van buiten ziet de ijzeren maagd eruit als een metalen sarcofaag waar de beeltenis van een meisje op gegraveerd is. Van binnen, zo weet je, zitten scherpe punten die van overal in het lichaam van de ongelukkige zouden binnendringen die erin werd opgesloten. Meestal werden ze zo geplaatst dat de vitale organen niet geraakt werden, zodat de lijdensweg van het slachtoffer extra lang duurde. Wanneer de deuren dicht zijn, zoals nu, is de maagd geluiddicht."; ], before [; Enter: "En jezelf spietsen op de scherpe ijzeren punten?"; Open: if(self has open) return false; give self open; print "Je opent de zware metalen deuren van de ijzeren maagd, die van binnen met scherpe punten bezet zijn. Ook de binnenkant van de maagd zelf zit vol metalen punten."; if(parent(pop_dochter_kerker) == self) print " Gespiest op @'e@'en van hen hangt een kleine dochterpop."; ""; Close: if(self hasnt open) return false; give self ~open; print "Met een rilling van afgrijzen sluit je de deuren weer."; if(parent(pop_dochter_kerker) == self) print " De pop is weer opgesloten in haar duistere hel."; ""; Receive: "Het staat je tegen om dingen in de ijzeren maagd te stoppen."; ], has enterable container openable ~open female scenery; Object pop_dochter_kerker "gespieste dochterpop" kasteel_kerker_maagd with name 'dochterpop' 'dochter' 'pop' 'gespieste' 'kleine', description [; if(parent(self) == kasteel_kerker_maagd) "Het kleine popje hangt hulpeloos aan een ijzeren punt die dwars door haar lichaam steekt. Ze kijkt je aan met een blik van pure wanhoop."; "Het kleine popje heeft een groot gat in haar lichaam waar de punt van de ijzeren maagd doorheen stak. Ze kijkt je aan met een blik van pure wanhoop."; ], before[; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "Je kan haar blik niet meer aanzien en werpt het kleine popje in de vlammen. Je draait je om en weent bittere tranen. Wanneer je weer durft te kijken is van het popje niets overgebleven dan de onuitwisbare herinnering aan haar pijn."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } Play: "Je bent niet langer in de stemming om met poppen te spelen."; ], has female; Object kasteel_kerker_druppels "vallende druppels" kasteel_kerker class Prop, with name 'druppels' 'vallende' 'druppel' 'water' 'waterdruppels', description "Kleine druppels water verzamelen zich op het plafond en vallen, wanneer ze groot genoeg zijn geworden, naar beneden om op de vloer te pletter te slaan.", before [; Listen: "Elke paar seconden valt een druppel op de grond, met een zachte tik. Het is het enige geluid dat het zwijgen doorbreekt."; Take: "De druppels vallen te onregelmatig om ze op te kunnen vangen."; Drink: "Er zijn te weinig druppels, en ze vallen te onregelmatig."; ], has pluralname; Object kasteel_plaats "Op de binnenplaats" with name 'binnenplaats' 'plaats', description "Vanaf hier is de staat van het kasteel goed zichtbaar. Beide kleinere torens zijn van binnen geheel ingestort, en kunnen onmogelijk nog beklommen worden. Daarentegen ziet de grote toren, die aan de noordkant van de binnenplaats ligt, er nog vrijwel intact uit. De meest gebouwen zijn tot niets meer dan een hoop puin gereduceerd; alleen een ru@:ine in het zuiden en twee zalen in het zuidoosten hebben nog enige structuur.", s_to kasteel_ruine, se_to kasteel_hal, n_to kasteel_toren_1, noordpas 0, before [; Go: if(noun == n_obj && self.noordpas == 1) "Het is door het vuur en de rook onmogelijk nu de toren te betreden."; ], has light transparent; Object kasteel_plaats_kasteel "kasteel" kasteel_plaats class Prop, with name 'kasteel' 'slot', before [; Examine: <>; ], has ; Object kasteel_plaats_gebouw "gebouw in het zuiden" kasteel_plaats class Prop, with pname 'gebouw' '.x' 'in' '.x' 'het' '.x' 'zuiden' '.p' 'ruine', description "Niets dan een ru@:ine is overgebleven van wat eens de woning van tientallen mensen moet zijn geweest.", before [; Go, Enter: <>; ], has ; Object kasteel_plaats_zalen "zalen" kasteel_plaats class Prop, with pname '.x' 'twee' 'zalen' '.x' 'in' '.x' 'het' '.x' 'zuidoosten' '.p' 'zaal', description "Aan de zuidoostelijke kant van de binnenplaats staan de grote hal en de eetzaal van het kasteel nog min of meer overeind.", has pluralname; Object kasteel_plaats_torens "kleinere torens" class Prop, with name 'torens' 'kleine' 'kleinere', found_in kasteel_plaats kasteel_ruine, description "De twee kleinere torens markeren de hoeken van het driehoekige kasteel die aan de voorkant liggen, waar ook de poort is. Beide hellen vervaarlijk naar buiten over, en vanaf hier kan je zien dat ze van binnen geheel zijn ingestort.", before [; Climb: "Het is niet mogelijk de kleinere torens te beklimmen; van trappen is zo te zien al lange tijd geen sprake meer, en zelfs de vloeren zitten er niet meer in."; ], has pluralname; Object kasteel_plaats_toren "grote toren" class Prop, with name 'toren' 'grote', found_in kasteel_plaats kasteel_ruine, description "De toren in het noorden is hoger dan elk ander gebouw dat je kent, en je hebt het gevoel dat hij om wil vallen en jou onder zijn helse gewicht wil verpletteren.", before [; Climb: "Om de toren te beklimmen zal je hem eerst moeten betreden; de ingang ligt ten noorden van je."; Enter: <>; ], has pluralname; Object kasteel_toren_1 "Onderin de middelste toren" with name 'toren', verbrand 0, description [; if(self.verbrand == 0) "De cirkelvormige ruimte ligt vol met stapels papier die zonder zichtbare organisatie zijn neergelegd. Verschillende stapels zijn omgevallen, maar blokkeren net niet de weg naar de trap die zich in het midden van de toren omhoog wentelt. Twee paar modderige voetstappen - het ene van een volwassene met zware laarzen, het andere van een kind op blote voeten - lopen vanaf de deur in het zuiden naar de trap."; "De cirkelvormige ruimte is geblakerd, maar volkomen leeg. In het midden van de zaal wentelt zich een trap naar boven."; ], s_to kasteel_plaats, u_to kasteel_toren_2, before [; Go: if(noun == u_obj) { TorenOmhoog(); return true; } return false; ], has light transparent; Object kasteel_toren_stapels "stapels papier" kasteel_toren_1 with name 'stapel' 'stapels' 'papier' 'omgevallen' 'papieren' 'vellen', bekeken 0, doorzocht 0, verbrand 0, description [; if(self.bekeken == 0) { self.bekeken = 1; "Grote stapels papieren liggen overal in de ruimte, chaotisch overhellend en op elkaar leunend. Je grijpt er willekeurig enkele vellen uit en bekijkt ze. Ze zijn allemaal identiek aan de brief die de baron elke nacht in je brievenbus laat bezorgen. Woedend smijt je de vellen weer op een stapel neer."; } else { "Grote stapels papieren liggen overal in de ruimte, chaotisch overhellend en op elkaar leunend. Op elk vel staat de tekst van de brief die de baron elke nacht in je brievenbus laat bezorgen."; } ], before [; Search, LookUnder: if(self.doorzocht == 0) { self.doorzocht = 1; move nieuwe_fotos to player; "Met weerzin, maar vastberaden, doorzoek je de stapels in de hoop iets te vinden dat interessanter is dan de waandenkbeelden en zelfrechtvaardigingen van de baron. Na geruime tijd vindt je onderop een weggemoffelde stapel een aantal foto's."; } else { "Tussen de papieren lijken verder geen interessante documenten meer verborgen te zijn."; } Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { if(self.verbrand == 0) { StartDaemon(self); return true; } else { "Overal slaan reeds de vlammen uit!"; } } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } Take: "Je voelt er niets voor om deze papierbende mee te sjouwen."; ], daemon [; self.verbrand++; if(location == kasteel_toren_1) { switch (self.verbrand) { 1: kasteel_plaats.noordpas = 1; "Je houdt de toorts tegen een stapel papier aan, die onmiddellijk in de fik vliegt."; 2: "^Het vuur slaat van de ene stapel op de andere over, sneller dan je had kunnen vermoeden. De halve zaal brandt reeds, en de weg naar buiten wordt door het vuur versperd. Een dikke rook stijgt op van het brandende papier."; 3: "^De hitte is haast ondraaglijk; overal waar je kijkt zie je nu vlammen. Zwarte rook vult je longen."; 4: TorenOmhoog(); } } if(location == kasteel_plaats) { switch (self.verbrand) { 2: "^De stapels papier branden lustig in de toren. Het lijkt onverstandig om nu nog binnen te gaan."; 3: "^Het vuur groeit nog steeds. Dikke rook stroomt uit de deuropening van de toren."; 4: "^De rook lijkt iets af te nemen, alsof het vuur in de toren zijn verwoestende werk grotendeels gedaan heeft."; default: StopDaemon(self); while (child(kasteel_toren_1)) remove child(kasteel_toren_1); move kasteel_toren_trap to kasteel_toren_1; move kasteel_toren_deur to kasteel_toren_1; kasteel_toren_1.verbrand = 1; kasteel_plaats.noordpas = 0; "^De hoeveelheid rook vermindert nu snel. Het vuur lijkt uitgewoed in de toren."; } } ], react_before [; Go: if(noun == s_obj && self.verbrand > 1) "Brandende stapels versperren de weg naar buiten."; ], has pluralname scenery static; Object nieuwe_fotos "gevonden foto's" with name 'foto^s' 'gevonden' 'late' 'nieuwe', description "Het zijn recente foto's van jullie gezin: jij, Hilde en Maartje, in huis, op vakantie, op school en aan het werk. En op elke foto staat, onverbiddelijk, onveranderlijk en onloochenbaar, het gezicht van Maartje strak en uitdrukkingsloos. Nooit lachend. Nooit vrolijk. Doods.", before [; Insert: if(second == fotoboek) "Wanneer je lijm of fotoplakkertjes had zou je het fotoboek kunnen herstellen; maar beide heb je niet, en bovendien heeft dit nu niet de eerste prioriteit."; return false; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "Krijsend gooi je de foto's in het vuur, de kleinste snippertjes opvangend om ze nogmaals in de vlammen te storten. En op elke foto, elke keer opnieuw, is het het uitdrukkingsloze, beschuldigende gezicht van Maartje dat het langst intact blijft en pas op het allerlaatst verast."; } else { "Nu de toorts gedoofd is kan je er niets meer mee aansteken."; } } else { "Daarmee kan je niets aansteken."; } } ], has pluralname; Object kasteel_toren_voetstappen "voetstappen" kasteel_toren_1 class Prop, with name 'voetstappen' 'voetstap' 'spoor' 'modderige' 'stappen' 'voeten', description "Vanaf de binnenplaats lopen duidelijk twee paar voetstappen naar de trap, en vanaf daar verder naar boven. Een gelaarsde man en een meisje op blote voeten - hun identiteit laat zich maar al te gemakkelijk raden. Die trap omhoog zal naar de baron leiden, en naar Maartje.", has pluralname; Object kasteel_toren_trap "trap" kasteel_toren_1 with pname 'trap' '.p' 'boven' '.p' '.x' 'trap' '.x' 'naar' '.x' 'boven' '.p' 'x' 'naar' 'boven' '.p' 'wenteltrap', description "De stenen trap voert stijl omhoog.", door_dir u_to, door_to kasteel_toren_2, before [; Climb, Enter: <>; ], has door scenery male open; Object kasteel_toren_deur "deur" kasteel_toren_1 with name 'deur', description "Door de deur zie je de binnenplaats.", door_dir s_obj, door_to kasteel_plaats, before [; Enter: <>; ], has door open scenery male; Object kasteel_toren_vuur "vuur" class Prop, with name 'vuur' 'rook' 'brand' 'vlammen', found_in kasteel_toren_1 kasteel_plaats, description [; if(kasteel_toren_stapels.verbrand > 0 && kasteel_toren_stapels.verbrand < 4) "Het vuur brandt lustig en produceert grote hoeveelheden rook."; "Je ziet rook noch vuur."; ], before [; Receive: if(kasteel_toren_stapels.verbrand > 0 && kasteel_toren_stapels.verbrand < 4) { if(noun == bevroren_kat) { remove bevroren_kat; "Je werpt het lijkje van Katja op het grote vuur, bij wijze van crematie. Snel prevel je een gebedje voor haar zielenrust."; } } print "Je werpt ", (the) noun, " op het vuur - de intense vlammen grijpen gretig om zich heen, en er blijft niets van over."; remove noun; ""; ], has container; ! *stapels papier, *trap, *voetstappen, *deur, *fotos, *binnenplaats; *papier in de fik steken; naar boven gaan.